from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QDesktopWidget

from config import Const


class Frame:
    @staticmethod
    def renderFrame(main):
        """
        渲染程序框架
        """
        # 设置程序宽高
        main.resize(Const.BASE_WINDOW_WIDTH, Const.BASE_WINDOW_HEIGHT)

        # 窗口居中
        qr = main.frameGeometry()  # 获得主窗口所在的框架
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)  # 获取显示器的分辨率，然后得到屏幕中间点的位置。
        main.move(qr.topLeft())  # 然后把主窗口框架的中心点放置到屏幕的中心位置。

        # 设置窗口标题
        main.setWindowTitle(Const.BASE_WINDOW_TITLE + Const.SYSTEM_VERSION)

        # 设置窗口图标
        main.setWindowIcon(QIcon(Const.BASE_WINDOW_ICON))

        # 隐藏窗口标题栏
        # main.setWindowFlags(QtCore.Qt.FramelessWindowHint)

        # 禁止调整窗口大小
        # main.setFixedSize(main.width(), main.height())

        # show()能让控件在桌面上显示出来。控件在内存里创建，之后才能在显示器上显示出来。
        main.show()
